home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disk User Volume 3 #6 / Commodore_Disk_User_Vol.3_6_1990_-.d64 / texas demo (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  5KB  |  147 lines

  1. 10 rem ******************************
  2. 20 rem ** the very good texas demo **
  3. 30 rem ******************************
  4. 40 rem **  written by david dewar  **
  5. 50 rem ******************************
  6. 55 rem * colour screen & load sprites *
  7. 60 poke 53280,0:poke 53281,0
  8. 70 printchr$(147);"[158]please wait..":gosub 1050
  9. 75 rem * opening titles *
  10. 80 a=1424:b=0:poke53280,0:poke53281,0
  11. 90 if b=0 then a$="silver wing":q=0
  12. 100 if b=1 then a$="proudly present":q=1
  13. 110 if b=2 then a$="a very short":q=0
  14. 120 if b=3 then a$="demo written":q=1
  15. 130 if b=4 then a$="by david dewar":q=0
  16. 140 if b=5 then a$="[157][157][157][157]for commodore disk user":q=1
  17. 150 if b=6 then a$="":q=0
  18. 160 if b=7 then q=1
  19. 170 if b=8 then 290
  20. 180 printchr$(147);chr$(5);"";tab(12);a$
  21. 190 for y=0 to 400:next y
  22. 200 if q=1 then goto 250
  23. 205 rem * increase right bar *
  24. 210 for t=0 to 39:poke a+t,160:poke 55696+t,11:next t
  25. 215 rem * decrease right bar *
  26. 220 for t=39 to 0 step-1:poke a+t,32:next t
  27. 230 b=b+1
  28. 240 goto 90
  29. 245 rem * increase left bar *
  30. 250 for t=39 to 0 step-1:poke a+t,160:poke 55696+t,11:next t
  31. 255 rem * decrease left bar *
  32. 260 for t=0 to 39:poke a+t,32:next t
  33. 270 b=b+1
  34. 280 goto 90
  35. 290 for y=0 to 200:next y
  36. 300 print chr$(147);"this program shows that reasonable"
  37. 310 print"demos can be made without any knowledge"
  38. 320 print"of machine code."
  39. 325 rem * scroll down & up fastish *
  40. 330 for t=0 to 20:poke 214,255:sys 59749:for q=0 to 100
  41. 340 next q:sys 59626:next t:for t=0 to 6:sys 59626:next t
  42. 350 for y=0 to 200:next y
  43. 355 rem * down then up *
  44. 360 print chr$(147);"commodores own basic has many"
  45. 370 print"useful routines that can be put"
  46. 380 print"into your own demos."
  47. 390 for q=0 to 3:for t=0 to 13:poke 214,255:sys 59749:next t
  48. 400 for p=0 to 200:next p:for y=0 to 2:sys 59626:next y:next q
  49. 410 for y=0 to 200:next y
  50. 415 rem * move letters one by one *
  51. 420 a$=" !somed doog tn'ra somed cisab syas ohw"
  52. 430 for t=1 to 39
  53. 440 forj=0to(39-t):printchr$(19);""tab(j)" "mid$(a$,t,1);:next j,t
  54. 445 rem * 'shake baby shake'
  55. 450 for t=0 to 255:poke 53270,t:next t:poke 53270,8
  56. 455 rem * texas letters *
  57. 460 print chr$(147);chr$(28)
  58. 470 print"              [146][223] [223][169] [146][169]               [146][223] [223][169] [146]";
  59. 480 print"[169]   "
  60. 490 print"  [146][223] [169] [146][169]   "
  61. 500 print"     [169] [146][169]               [169] [146][169] [223] ";
  62. 510 print"    [169] [146][169][223] [223]           [169]";
  63. 520 print" [146][169][223] [223]        [146][158]thebestbandinthe"
  64. 530 print"world ?"
  65. 535 rem * open screen to full *
  66. 540 poke 53270,8
  67. 545 rem * position sprites *
  68. 550 v=53248:poke v+0,176:poke v+1,130:poke 2040,128
  69. 560 poke v+2,176:poke v+3,151:poke 2041,129
  70. 570 poke v+4,176:poke v+5,172:poke 2042,130
  71. 575 rem * turn sprites on with multi col *
  72. 580 poke v+21,7:poke v+28,7:poke v+37,12
  73. 586 rem * sprites 1,2 & 3 dark grey *
  74. 590 poke v+38,15:poke v+39,11:pokev+40,11
  75. 600 poke v+41,11:poke v+27,7
  76. 605 rem * smooth scoll up & down *
  77. 610 for y=0 to 20:for t=19 to 31:poke 53265,t:next t
  78. 620 next y
  79. 630 poke 53270,8
  80. 635 rem * scroll message *
  81. 640 for x=0 to 50:if peek(x+1344)=43 then poke x+1344,42
  82. 650 if peek(1863-x)=43 then poke 1863-x,42:next x
  83. 660 ss$="                                         ":rem 41
  84. 670 b$=ss$+"[155]this very short demo was written by d."
  85. 680 b$=b$+"dewar.look out for my demo disk/tape com"
  86. 690 b$=b$+"ing soon featuring a selection of the be"
  87. 700 b$=b$+"st cbm 64 demos.this demo is dedicated t"
  88. 710 b$=b$+"o:                                    ":rem 36
  89. 720 b$=b$+"  t  e  x  a  s "
  90. 730 d=0
  91. 740 s=1:if d=2 then 790
  92. 750 print chr$(19);mid$(b$,s,40)
  93. 760 for x=0 to 80:next x:s=s+1
  94. 770 if s=len(b$)then d=2:goto740
  95. 780 goto 750
  96. 785 rem * clear screen *
  97. 790 for t=0 to 999:poke 1024+t,160:poke 55296+t,0:next t
  98. 795 rem * flashing message *
  99. 800 poke53269,0:print chr$(147);:a=0
  100. 810 print chr$(19);tab(248);"[129]get writing some demos!!"
  101. 820 a=a+1:if a=15 then 860
  102. 830 for t=0 to 100:nextt
  103. 840 print chr$(19);tab(248);"get writing some demos!!"
  104. 850 for t=0 to 100:next t:goto 810
  105. 855 rem * scroll off screen *
  106. 860 for t=0 to 5:sys 59626:next t
  107. 870 q=15:p=255:w=0
  108. 875 rem * moving end *
  109. 880 print chr$(147);"[158]"
  110. 890 print tab(q)"the";tab(p)"end"
  111. 900 q=q+40:p=p-40:w=w+1
  112. 910 if w=6 thenp=0:goto 940
  113. 920 for r=0 to 100:next r
  114. 930 goto 880
  115. 935 rem * smooth scroll left & right *
  116. 940 for a=1 to 7:poke 53270,248+a
  117. 950 for b=0 to 250:next b,a
  118. 960 for a=6 to 0 step-1:poke 53270,248+a
  119. 970 for b=0 to 250:next b,a:p=p+1
  120. 980 if p=4 then 1000
  121. 990 goto 940
  122. 995 rem * wrap round *
  123. 1000 for t=0 to 6:printchr$(147);chr$(5);"its a":for y=0 to 150:next y
  124. 1010 print chr$(147);:next t:for t=0 to 8:print chr$(147);"wr":for y=0 to 150
  125. 1020 next y:for t=0 to 8:print chr$(147);"wrap":fory=0to150:print chr$(147);:nextt
  126. 1030 for t=0 to 6:print chr$(147);"round":fory=0 to 150:next y
  127. 1040 print chr$(147);:next t:goto 80
  128. 1045 rem * load sprites into memory *
  129. 1050 for t=0 to 193:read e:poke 8192+t,e:c=c+e:next t
  130. 1060 if c<>21093 then print"data error":end
  131. 1070 return
  132. 1080 data 253,0,59,240,0,14,240,0,3,192,0,0,192,0
  133. 1090 data 0,0,12,0,0,48,192,0,51,48,0,63,176,0
  134. 1100 data 38,0,0,183,179,0,247,195,0,251,244,193,235,247
  135. 1110 data 9,255,247,249,170,223,249,150,223,254,107,79,255,149
  136. 1120 data 67,240,234,195,240,63,15,0
  137. 1130 data 176,15,15,188,0,62,191,0,158,111,128,158,90,128
  138. 1140 data 42,85,224,154,85,160,153,101,96,153,85,96,41,106
  139. 1150 data 120,37,105,88,41,86,120,165,105,90,165,102,248,47
  140. 1160 data 84,160,11,85,63,203,85,123,170,153,123,170,165,123
  141. 1170 data 170,201,95,63,194,87,63,0,128
  142. 1180 data 63,63,129,63,195,128,15,252,128,3,242,128,168,11
  143. 1190 data 130,2,175,232,0,15,240,0,15,240,60,15,240,60
  144. 1200 data 15,240,60,15,240,60,15,240,60,3,240,60,3,240
  145. 1210 data 60,3,240,60,3,240,60,3,240,12,3,240,12,3
  146. 1220 data 240,12,15,240,12,15,0,85,85
  147.